package cn.tedu.charging.account.dao.persist.repository;

import cn.tedu.charging.account.pojo.entity.Order;
import cn.tedu.charging.account.pojo.vo.OrderStandardVO;

/**
 * 处理订单数据的存储库接口
 *
 * @author wyy
 * @version 1.0
 */
public interface IOrderRepository {

        /**
         * 插入订单数据
         *
         * @param order 订单数据
         * @return 受影响的行数
         */
        int insert(Order order);

        /**
         * 根据订单id删除订单数据
         *
         * @param id 订单id
         * @return 受影响的行数
         */
        int deleteById(Long id);

        /**
         * 根据订单id修改订单的数据
         *
         * @param order 封装了订单id和新的数据的对象
         * @return 受影响的行数
         */
        int updateById(Order order);

        /**
         * 根据用户id统计订单数据的数量
         *
         * @param userId 用户id
         * @return 匹配用户名的用户数据的数据
         */
        int countById(Long userId);

        /**
         * 根据充电站id查询信息
         *
         * @param id 充电站id
         * @return 返回信息
         */
        OrderStandardVO selectByDeviceId(Long id);

}
